package seqList;

public class Main {
    public static Integer[] random(int n) // 返回产生n个随机数的数组
    {
        Integer[] elements = new Integer[n];
        for (int i = 0; i < n; i++)
            elements[i] = new Integer((int) (Math.random() * 100)); // 产生随机数
        return elements;
    }

    public static void main(String args[]) {
        System.out.println();
        // 创建顺序表
        SeqList<Integer> list1 = new SeqList<Integer>(); // 空表

        // 建表,插入新的数据元素
        System.out.println("建表操作:");
        list1.insert(1, 1);
        list1.insert(2, 2);
        list1.insert(3, 3);
        list1.insert(4, 4);
        list1.showListInfo();

        // 查找
        System.out.println("查找操作:");
        list1.get(3);

        // 在已有位置插入新的数据元素
        System.out.println("插入操作:");
        list1.insert(4, 100);
        list1.showListInfo();

        // 删除一个数据结点
        System.out.println("删除操作:");
        list1.remove(3);
        list1.showListInfo();

        // 深拷贝与比较相等
        /*
         * SeqList<Integer> list1 = new SeqList<Integer>(); // 空表
         * System.out.println("list1: " + list1.toString()); SeqList<Integer>
         * list2 = new SeqList<Integer>(); // 空表 System.out.println("list2: " +
         * list2.toString()); System.out.println("list1.equals(list2)? " +
         * list1.equals(list2));
         *
         * list1 = new SeqList<Integer>(random(5)); System.out.println("list1: "
         * + list1.toString()); list2 = new SeqList<Integer>(list1); // 拷贝构造方法
         * System.out.println("list2: " + list2.toString());
         * System.out.println("list1.equals(list2)? " + list1.equals(list2));
         *
         * System.out.println("list1: " + list1.toString()); list2.set(0, new
         * Integer(list1.get(0).intValue() + 100)); list2.remove(list2.length()
         * - 1); // 删除最后一个元素 list2.remove(100); // 序号越界，没删除
         * System.out.println("list2: " + list2.toString());
         * System.out.println("list1.equals(list2)? " + list1.equals(list2));
         */
    }
}
